package com.shujia.java.day13.demo8;

import java.util.*;

/**
 * Student 名字可以相同,学号唯一,对照的关系 不能多也不能少
 * 两个值 前后对照
 * Map<K,V>
 *     K key：无序 不重复
 *     V value: 重复
 *  获取数据:通过key获取元素(map里面主要存储V，K进行对V的标识)
 *
 *
 *
 */
public class MapTest {
    public static void main(String[] args) {
        //创建HashMap存储学生 学号和姓名 不存在学号和姓名不对应的问题
        HashMap<Integer,String> student=new HashMap<Integer,String>();
        //put 添加数据 K已存在 V发生了替换(最后一个提换前一个)
        student.put(10001,"张三");
        student.put(10002,"李四");
        student.put(10003,"王五");
        student.put(10004,"赵六");
//        student.put(10004,"赵六1");
//        student.put(10004,"赵六2");
        student.put(10005,"田七");
        student.put(10006,"牛牛");
        student.put(10007,"牛牛");
        //遍历没头绪可以先一个一个获取元素   获取元素通过key获取
//        System.out.println(student.get(10001));
//        System.out.println(student.get(10002));
//        System.out.println(student.get(10003));

        //遍历key 获取map所有key
        //获取所有key 返回值Set<Integer>
        Set<Integer> id = student.keySet();
        //values 返回值为Collection 获取结果为所有V的集合 V可以重复
        Collection<String> list=student.values();
        //遍历
        for (String s:list) {
            System.out.println(s);
        }

        //集合中是否存在这个东西
        //添加学生id为10006 姓名为牛牛
        if(!student.containsKey(10006)){
            student.put(10006,"牛牛");
        }
        //判断集合中是否存在这个Value
        System.out.println(student.containsValue("牛牛"));
        //删除
        //student.remove()


        System.out.println("通过key获取Value");
        //遍历Set<Integer>
        for (Integer i:id) {
            //k拿到了 通过k获取元素
            System.out.println(student.get(i));

        }

    }
}
